Java সার্ভলেট (Servlets) একটি জাভা টেকনোলজি যা ওয়েব-অ্যাপ্লিকেশনে সার্ভার-সাইড প্রসেসিং করার জন্য ব্যবহৃত হয়। এটি javax.servlet এবং javax.servlet.http প্যাকেজের মাধ্যমে তৈরি করা হয়। সার্ভলেটকে ডেটা প্রসেসিং, যেমন JSON বা XML ডেটা পার্স এবং রেসপন্স তৈরির জন্যও ব্যবহার করা যায়।
নিচে একটি উদাহরণ দেওয়া হলো, যেখানে একটি সার্ভলেট JSON এবং XML ডেটা প্রসেস করে:
উদাহরণ: JSON প্রসেসিং
- JSON ডেটা প্রাপ্তি এবং রেসপন্স
সার্ভলেট ক্লায়েন্ট থেকে JSON ডেটা গ্রহণ করে এবং প্রসেস করে রেসপন্স পাঠাবে।
কোড:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.json.JSONObject;
public class JsonServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Set content type
response.setContentType("application/json");
// Read JSON data from request
StringBuilder jsonBuffer = new StringBuilder();
BufferedReader reader = request.getReader();
String line;
while ((line = reader.readLine()) != null) {
jsonBuffer.append(line);
}
// Parse JSON
JSONObject jsonObject = new JSONObject(jsonBuffer.toString());
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
// Create response JSON
JSONObject responseJson = new JSONObject();
responseJson.put("message", "Hello " + name + ", your age is " + age);
// Send response
PrintWriter out = response.getWriter();
out.print(responseJson.toString());
out.flush();
}
}
ব্যাখ্যা:
- ক্লায়েন্ট JSON ডেটা (যেমন:
{ "name": "John", "age": 30 }) পাঠালে সার্ভলেট তা প্রসেস করে একটি রেসপন্স JSON তৈরি করে পাঠায়। org.json.JSONObjectলাইব্রেরি JSON ডেটা পার্স এবং তৈরি করতে ব্যবহৃত হয়েছে।
উদাহরণ: XML প্রসেসিং
- XML ডেটা প্রাপ্তি এবং রেসপন্স
সার্ভলেট ক্লায়েন্ট থেকে XML ডেটা গ্রহণ করে এবং তা প্রসেস করে XML আউটপুট পাঠাবে।
কোড:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
public class XmlServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/xml");
try {
// Parse XML input
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(request.getInputStream());
// Get data from XML
String name = doc.getElementsByTagName("name").item(0).getTextContent();
String age = doc.getElementsByTagName("age").item(0).getTextContent();
// Create XML response
Document responseDoc = builder.newDocument();
Element root = responseDoc.createElement("response");
responseDoc.appendChild(root);
Element message = responseDoc.createElement("message");
message.setTextContent("Hello " + name + ", your age is " + age);
root.appendChild(message);
// Write XML response
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(responseDoc);
PrintWriter out = response.getWriter();
StreamResult result = new StreamResult(out);
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
- ক্লায়েন্ট থেকে প্রাপ্ত XML ডেটা (যেমন:
<person><name>John</name><age>30</age></person>) প্রসেস করে XML ফরম্যাটে রেসপন্স পাঠানো হয়। javax.xml.parsersএবংjavax.xml.transformপ্যাকেজ ব্যবহৃত হয়েছে XML প্রসেসিংয়ের জন্য।
ডিপ্লয়মেন্ট:
সার্ভলেট ডিপ্লয়মেন্ট:
web.xmlফাইলে সার্ভলেট ম্যাপ করতে হবে।<servlet> <servlet-name>JsonServlet</servlet-name> <servlet-class>JsonServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>JsonServlet</servlet-name> <url-pattern>/json</url-pattern> </servlet-mapping> <servlet> <servlet-name>XmlServlet</servlet-name> <servlet-class>XmlServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>XmlServlet</servlet-name> <url-pattern>/xml</url-pattern> </servlet-mapping>- ক্লায়েন্ট থেকে টেস্ট করা:
- JSON:
POSTরিকুয়েস্টের মাধ্যমে JSON ডেটা পাঠানো। - XML:
POSTরিকুয়েস্টের মাধ্যমে XML ডেটা পাঠানো।
- JSON:
এভাবেই Java Servlets ব্যবহার করে JSON এবং XML ডেটা প্রসেস করা যায়।
Content added By
Read more